#Variables
PROGRAM=PetApp
CC=g++
OBJECTS=PetApp.o Command.o Pet.o Cat.o Dog.o IOMgmt.o AppError.o

#Commands
all: $(PROGRAM)

$(PROGRAM): $(OBJECTS)
	$(CC) $(OBJECTS) -o $(PROGRAM)

PetApp.o: PetApp.cpp Command.h IOMgmt.h AppError.h
	$(CC) -c PetApp.cpp

Command.o: Command.cpp Command.h IOMgmt.h AppError.h
	$(CC) -c Command.cpp

Pet.o: Pet.cpp Pet.h IOMgmt.h AppError.h
	$(CC) -c Pet.cpp

Cat.o: Cat.cpp Cat.h IOMgmt.h AppError.h
	$(CC) -c Cat.cpp

Dog.o: Dog.cpp Dog.h IOMgmt.h AppError.h
	$(CC) -c Dog.cpp

IOMgmt.o: IOMgmt.cpp IOMgmt.h AppError.h
	$(CC) -c IOMgmt.cpp

AppError.o: AppError.cpp AppError.h
	$(CC) -c AppError.cpp

clean: 
	rm -rf *o $(PROGRAM)
